Beamforming is a signal processing technique used in sensor arrays for directional signal transmission or reception. Spatial selectivity is achieved by using adaptive or fixed receive/transmit beam patterns.
One medical application that uses beamforming is for ultrasound diagnostics. Ultrasound energy is focused at target tissue by a transmit beamformer, and ultrasound energy modulated and returned by the target tissue is focused by a receive beamformer. The receive beamformer may provide signals for generation of B-mode images, color Doppler or spectral Doppler information representing the target tissue, or combinations thereof. Beamforming systems can provide real-time, cross-sectional (tomographic) 2D images of human body tissue or the tissue of another subject.
FIG. 1 shows a simplified block diagram depiction of a conventional delay and sum ultrasound receive beamformer system 100 for imaging target tissue 105. Beamformer system 100 comprises a plurality (M) of transducer elements 112 shown as eight transducer elements 1121-1128 which each comprise separate piezoelectric transducers that convert sound waves echoed by the target tissue 105 into electrical signals in the receive mode. Although only eight (M=8) transducer elements 1121-1128 are shown in FIG. 1, a practical ultrasound receive beamformer system 100 may have many more transducer elements, such as several hundred or more.
The data processing paths 1151-1158 each comprise in serial connection a voltage controlled amplifier (VCA) 116, an analog to digital converter (ADC) 117 for digital conversion of the amplified transducer signal, and an integer delay 118 for adding the integer portion of the desired delay value. A plurality of interpolation filter banks 119 each comprising a plurality of interpolation filters (P) is also provided. The plurality of interpolation filters (P) in each interpolation filter bank 1191-1198 provide a plurality of different fractional portions of the desired delay value for each of the data processing paths 1151-1158, since as known in the art the desired delay values are not integer multiples of the ADC sampling period (Ts) because in general the desired timing resolution (Tres) is <Ts.
For conventional ultrasound applications, Tres is generally between 1 to 10 nsec and the Ts of the ADCs 117 is generally from 20 to 200 nsec (corresponding to 50 MHz to 5 MHz operation). Tres thus determines the number of interpolation filters (P) in each interpolation filter bank 1191-1198 needed to provide the plurality of different fractional delay portions for each of the dedicated data processing paths 1151-1158 for beamformer system 100. For example, without decimation filtering, P=ceil(Ts/Tres) to achieve the desired Tres, such as P=20 interpolation filters in each interpolation filter bank 1191-1198 in the case Ts=20 nsec and Tres=1 nsec. The ceil function returns an integer by rounding its argument towards infinity (upward).
Each of the dedicated data paths 1151-1158 also include an apodization gain block 120 so that each received signal is scaled (i.e. weighted) by a desired value by an apodization factor to reduce the grating side lobe effects in the later formed beamformed signal due to lateral pressure field amplitude variations and the spacing of the transducer elements 1121-1128. Apodization factors can generally be changed on a sample-by-sample basis. An adder 121 sums the respective signals from each of the data paths 1151-1158 provided by the respective apodization gain blocks 1201-1208 to generate the desired beamformed signal which can then be used to form an image of the target tissue 105 on a suitable display device.
The conventional delay and sum ultrasound receive beamformer system 100 described above produces effective focal points along a given scanline (e.g., such as the scanline shown in FIG. 1) to focus the receive echoes from portions of target tissue 105 that lie along a given scanline. When the receive beamformer system 100 beamforms more than one scanline, the beamforming is commonly referred to as Multiple Line Acquisition (MLA) for a given transmit pulse sequence.
In a conventional beamforming implementation, such as when using conventional delay and sum ultrasound receive beamformer system 100, the filtered signal response from each of the respective interpolation filter banks 1191-1198 from the received signal originating from its associated single associated transducer element 112 can be written as a summation over the filter coefficients k for each of the P interpolation filters in interpolation filter bank 119 as:
                                          y            i                    ⁡                      [            n            ]                          =                                            ∑                              k                =                                  -                  ∞                                            ∞                        ⁢                                                            h                                      i                    ⁡                                          (                      n                      )                                                                      ⁡                                  [                  k                  ]                                            ⁢                                                x                  i                                ⁡                                  [                                      n                    -                    k                    -                                                                  d                        i                                            ⁡                                              [                        n                        ]                                                                              ]                                            ⁢                                                          ⁢              for              ⁢                                                          ⁢              0                                ≤          n          ≤                      N            -            1                                              Equation        ⁢                                  ⁢        #1            
Where:                xi[n] is the signal from the ith receive data path channel 1151-1158 at time sample n.        hi(n)[k] is the kth coefficient of the respective interpolation filter in interpolation filter bank 119 for the ith receive channel at time sample n.        yi[n] is the filtered signal for the ith receive data path channel 1151-1158 at time sample n.        di[n] is the integer delay for ith receive data path channel 1151-1158 at time sample n.        
It is noted that this filtering operation is piece-wise linear, i.e. at each sample instance n, the output of interpolation filter bank 119 is a linear combination of input samples. The beamformed signal response for a single scanline is found by summing (e.g., using summer 121) the responses from each of the data paths 1151-1158 after processing by apodization gain blocks 120 to represent signals from all M receive transducer elements 1121-1128, which can be expressed as:
                              z          ⁡                      [            n            ]                          =                                            ∑                              m                =                0                                                    M              -              1                                ⁢                                                    a                m                            ⁡                              [                n                ]                                      ⁢                                          ∑                                  k                  =                                      -                    ∞                                                  ∞                            ⁢                                                                    h                                          m                      ⁡                                              (                        n                        )                                                                              ⁡                                      [                    k                    ]                                                  ⁢                                                      x                    m                                    ⁡                                      [                                          n                      -                      k                      -                                                                        d                          m                                                ⁡                                                  [                          n                          ]                                                                                      ]                                                                                                          Equation        ⁢                                  ⁢        #2            Where am[n] is the apodization factor for the mth receive signal at time sample n, and z[n] is the beamformed received signal at time sample n.
The delay computations are related to the ultrasound transducer array geometry as well as the speed of sound for the frequency used in the particular tissue medium. An issue arises as how to efficiently compute the integer delay values and fractional delay values at each time sample instant for each of the data path channels in the receive beamformer. In the case of the transmit beamformer the time delay values are still needed, but the time delay values are only needed only once per focal point (i.e., not computed for each time instant).
Conventionally, integer and fractional delay values are computed in terms of discrete-time samples by multiplying by the sampling rate of the beamforming system, fs, with the resulting computation involving trigonometric functions including both sin(θ) and cos(θ) and numerous multiplications (See Equation 3 described below). The resulting high computational burden is thus not well suited for real-time implementation, and thus generally limits the number of channels supported by a particular computational implementation (e.g. FPGA, DSP, or ASIC implementation).